//package chainmaker.sdk.demo;
//
//import org.chainmaker.pb.common.ResultOuterClass;
//import org.chainmaker.sdk.ChainClient;
//import org.chainmaker.sdk.User;
//import org.chainmaker.sdk.utils.CryptoUtils;
//import org.chainmaker.sdk.utils.Utils;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.annotation.Qualifier;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RestController;
//import org.web3j.abi.FunctionEncoder;
//import org.web3j.abi.datatypes.Address;
//import org.web3j.abi.datatypes.Function;
//import org.web3j.abi.datatypes.Utf8String;
//
//import java.util.Arrays;
//import java.util.Collections;
//import java.util.HashMap;
//import java.util.Map;
//
//@RestController
//@RequestMapping("blockChain/project/")
//public class TestController {
//
//
//    @Autowired
//    @Qualifier("adminUser1")
//    private User adminUser1;
//
//    @RequestMapping("test")
//    public String test(){
//        return "test";
//    }
//
//    public void invokeContract(ChainClient chainClient) {
//        ResultOuterClass.TxResponse responseInfo = null;
//        try {
//            Map<String, byte[]> params = new HashMap<>();
//            String toAddress = CryptoUtils.makeAddrFromCert(adminUser1.getTlsCertificate());
//            String funcParam = "{\n    \"key\": \"124458\",\n    \"orgCode\": \"example_orgCode2\",\n    \"entryDate\": \"1630435200\",\n    \"proCode\": \"example_proCode\",\n    \"projectStartDate\": \"1633047100\",\n    \"auditStartTime\": \"1633120000\",\n    \"auditApprovalTime\": \"1633200000\",\n    \"auditProjectRejectTime\": \"1633272000\"\n}";
//            Function function = new Function(
//                    "appendAuditProjectTags",
//                    Arrays.asList(
//                            new Address(toAddress),
//                            new Utf8String("124458"),
//                            new Utf8String("example_orgCode2"),
//                            new Utf8String("1630435200"),
//                            new Utf8String("example_proCode"),
//                            new Utf8String("1633047100"),
//                            new Utf8String("1633120000"),
//                            new Utf8String("1633200000"),
//                            new Utf8String("1633272000")
//                    ),
//                    Collections.emptyList()
//            );
//
//            String methodDataStr = FunctionEncoder.encode(function);
//            String method = methodDataStr.substring(0,10);
//            System.out.println(method);
//            params.put("data", methodDataStr.getBytes());
//
//            responseInfo = chainClient.invokeContract(Utils.calcContractName(CONTRACT_NAME), method,
//                    null, params,10000, 10000);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        System.out.println(responseInfo);
//    }
//
//}
